home *** CD-ROM | disk | FTP | other *** search
- /* Dice: dcc -l0 -mD dpk.o DoubleBuffer.c -o DoubleBuffer
- **
- ** This simple demo shows how to double buffer the screen.
- */
-
- #include <proto/dpkernel.h>
-
- BYTE *ProgName = "Double Buffer Demo";
- BYTE *ProgAuthor = "Paul Manias";
- BYTE *ProgDate = "3 December 1997";
- BYTE *ProgCopyright = "DreamWorld Productions (c) 1996-1997. Freely distributable.";
- BYTE *ProgShort = "Demonstration of double buffering.";
-
- void main(void)
- {
- struct Picture *picture;
- struct GScreen *screen;
- struct JoyData *JoyData;
- struct FileName PicFile = { ID_FILENAME, "GMS:demos/data/PIC.Green" };
-
- if (picture = Load(&PicFile, ID_PICTURE)) {
-
- screen = Get(ID_SCREEN);
- CopyStructure(picture,screen);
- screen->MemPtr1 = picture->Bitmap->Data;
- screen->Attrib = DBLBUFFER|CENTRE;
-
- if (screen = Init(screen,NULL)) {
- if (JoyData = Init(Get(ID_JOYDATA),NULL)) {
- Display(screen);
- Query(JoyData);
-
- while (!(JoyData->Buttons & JD_LMB)) {
- WaitAVBL();
- SwapBuffers(screen);
- Query(JoyData);
- }
- Free(JoyData);
- }
- Free(picture);
- }
- Free(screen);
- }
- }
-
-